Many problems exist with current data packet routing and switching technology. For example, an index table is typically stored in a forwarding flow for all forwarding multicast routes. This index table is traditionally shared between various routes to optimize a number of indices used in the index table. An outgoing interface index is programmed with local members (sometimes the set being nil) symmetrically across all forwarding engines. As a result, the scale of the multicast entries depends on the number of indices available in a forwarding engine. In other words, a forwarding engine is programmed identically across all cards, thus a scale of a device is limited to a table size of the single forwarding engine.